package algo3.pruebas.armasTest;

import algo3.modelo.Posicion;
import algo3.modelo.armas.Arma;
import algo3.modelo.armas.MinaSubmarinaTripleConRetardo;

public class MinaSubmarinaTripleConRetardoTest extends MinaTestConHerencia {
	
	public Arma crearArma(Posicion posicion){
		return new MinaSubmarinaTripleConRetardo(posicion);
	}
	public void testCrearUnaMinaSubmarinaTripleConRetardo(){
		Posicion posicion = new Posicion(4,5);
		MinaSubmarinaTripleConRetardo mina = new MinaSubmarinaTripleConRetardo(posicion);
		assertNotNull(mina);

	}

	public void testObtenerlaListaDeDanioDeMinaSubmarinaTripleConRetardo() {
		Posicion posicion = new Posicion(4,5);

		MinaSubmarinaTripleConRetardo mina = new MinaSubmarinaTripleConRetardo(posicion);
		mina.avanzarTurno();
		mina.avanzarTurno();
		//Testeo todas las posiciones que deberia tener según el tipo de mina
		
		
		assertEquals((mina.getListaDeDanios()).get(0).getPosicion(),new Posicion(2,3));
		assertEquals((mina.getListaDeDanios()).get(1).getPosicion(),new Posicion(3,3));
		assertEquals((mina.getListaDeDanios()).get(2).getPosicion(),new Posicion(4,3));
		assertEquals((mina.getListaDeDanios()).get(3).getPosicion(),new Posicion(5,3));
		assertEquals((mina.getListaDeDanios()).get(4).getPosicion(),new Posicion(6,3));
		
		assertEquals((mina.getListaDeDanios()).get(5).getPosicion(),new Posicion(2,4));
		assertEquals((mina.getListaDeDanios()).get(6).getPosicion(),new Posicion(3,4));
		assertEquals((mina.getListaDeDanios()).get(7).getPosicion(),new Posicion(4,4));
		assertEquals((mina.getListaDeDanios()).get(8).getPosicion(),new Posicion(5,4));
		assertEquals((mina.getListaDeDanios()).get(9).getPosicion(),new Posicion(6,4));
		
		assertEquals((mina.getListaDeDanios()).get(10).getPosicion(),new Posicion(2,5));
		assertEquals((mina.getListaDeDanios()).get(11).getPosicion(),new Posicion(3,5));
		assertEquals((mina.getListaDeDanios()).get(12).getPosicion(),new Posicion(4,5));
		assertEquals((mina.getListaDeDanios()).get(13).getPosicion(),new Posicion(5,5));
		assertEquals((mina.getListaDeDanios()).get(14).getPosicion(),new Posicion(6,5));
		
		assertEquals((mina.getListaDeDanios()).get(15).getPosicion(),new Posicion(2,6));
		assertEquals((mina.getListaDeDanios()).get(16).getPosicion(),new Posicion(3,6));
		assertEquals((mina.getListaDeDanios()).get(17).getPosicion(),new Posicion(4,6));
		assertEquals((mina.getListaDeDanios()).get(18).getPosicion(),new Posicion(5,6));
		assertEquals((mina.getListaDeDanios()).get(19).getPosicion(),new Posicion(6,6));
		
		assertEquals((mina.getListaDeDanios()).get(20).getPosicion(),new Posicion(2,7));
		assertEquals((mina.getListaDeDanios()).get(21).getPosicion(),new Posicion(3,7));
		assertEquals((mina.getListaDeDanios()).get(22).getPosicion(),new Posicion(4,7));
		assertEquals((mina.getListaDeDanios()).get(23).getPosicion(),new Posicion(5,7));
		assertEquals((mina.getListaDeDanios()).get(24).getPosicion(),new Posicion(6,7));

	}
}
